﻿using System.Collections.Generic;
using System.Web.WebPages;

namespace MvcApplication1.Models
{
    public class Example1Arg
    {
        public readonly IEnumerable<Example1Data> GridDatas;

        public Example1Arg(IEnumerable<Example1Data> gridDatas)
        {
            GridDatas = gridDatas;
        }
    }

    public class Example1GridArg
    {
        public readonly string GridContainerId;
        public readonly IEnumerable<Example1Data> Datas;

        public Example1GridArg(string gridContainerId, IEnumerable<Example1Data> datas)
        {
            GridContainerId = gridContainerId;
            Datas = datas;
        }
    }

    public class Example1Data
    {
        public readonly string C1;
        public readonly string C2;

        public Example1Data(string c1, string c2)
        {
            C1 = c1;
            C2 = c2;
        }
    }

    public enum Example1OrderBy
    {
        C1,
        C2
    }

    public struct RVoid {}
    public delegate HelperResult RFunc(RVoid item);
    public delegate HelperResult RFunc<in T>(T item);
    public static class RFuncExt
    {
        public static RFunc RFunc(this HelperResult it)
        {
            return item => it;
        }
    }
}